package com.coderman.infosys.auth.app.convert;

import java.util.List;

import com.coderman.infosys.auth.api.dto.system.ModuleDTO;
import com.coderman.infosys.auth.api.dto.system.request.CreateModuleRequestDTO;
import com.coderman.infosys.auth.api.dto.system.request.UpdateModuleRequestDTO;
import com.coderman.infosys.auth.domain.bo.system.ModuleBO;

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

/**
* @Description:ModuleConvert接口
* @Author:
* @CreateTime:2022-01-02 15:27:39
* @version v1.0
*/
@Mapper
public interface ModuleConvert{
	ModuleConvert INSTANCE = Mappers.getMapper(ModuleConvert.class);

	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> moduleDTOs2boList(List<ModuleDTO> moduleDTOList);
	/**
	 *
	 * @Description:
	 * @return ModuleDTO
	 */
	 ModuleDTO bo2dto(ModuleBO moduleBO);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO dto2bo(CreateModuleRequestDTO createModuleRequestDTO);
	/**
	 *
	 * @Description:
	 * @return List<ModuleDTO>
	 */
	 List<ModuleDTO> moduleBOs2dtoList(List<ModuleBO> moduleBOList);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO dto2bo(UpdateModuleRequestDTO updateModuleRequestDTO);
	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> createModuleRequestDTOs2boList(List<CreateModuleRequestDTO> createModuleRequestDTOList);
	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> updateModuleRequestDTOs2boList(List<UpdateModuleRequestDTO> updateModuleRequestDTOList);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO dto2bo(ModuleDTO moduleDTO);
}